home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr05 / mswlogo3.zip / MSWLOGO.ZIP / EXAMPLES.ZIP / MULTI.PAS < prev    next >
Pascal/Delphi Source File  |  1991-09-22  |  754b  |  37 lines

  1. PROGRAM MULTI(OUTPUT);
  2.  {MULTINOMIAL EXPANSION PROBLEM}
  3.  
  4. VAR MEMO: ARRAY [0..4, 0..7] OF INTEGER;
  5.     I,J:  INTEGER;
  6.  
  7. FUNCTION T(N,K:INTEGER) : INTEGER;
  8.  
  9.    FUNCTION REALT(N,K:INTEGER) : INTEGER;
  10.     {WITHOUT MEMOIZATION}
  11.  
  12.       BEGIN {REALT}
  13.          IF K = 0 THEN
  14.             REALT := 1
  15.          ELSE
  16.             IF N = 0 THEN
  17.                REALT := 0
  18.             ELSE
  19.                REALT := T(N,K-1)+T(N-1,K)
  20.       END; {REALT}
  21.  
  22.    BEGIN {T}
  23.       IF MEMO[N,K] < 0 THEN
  24.          MEMO[N,K] := REALT(N,K);
  25.       T := MEMO[N,K]
  26.    END; {T}
  27.  
  28. BEGIN {MAIN PROGRAM}
  29.    {INITIALIZATION}
  30.    FOR I := 0 TO 4 DO
  31.       FOR J := 0 TO 7 DO
  32.          MEMO[I,J] := -1;
  33.  
  34.    {HOW MANY TERMS IN (A+B+C+D)^7}
  35.    WRITELN(T(4,7));
  36. END.
  37.